﻿#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>

struct S
{

	int _a : 2;
	int _b : 5;//占5个比特位
	int _c : 10;
	int _d : 30;

};


//1个字节 == 8bit
//一个字节内部从右向左使用
//剩余的比特位不够下一个成员使用的时候，浪费掉并开辟新的空间存放
//



//位段的空间上是按照需要以4个字节（ int ）或者1个字节（ char ）的⽅式来开辟的。
//位段不跨平台






int main()
{

	//什么是位段
	//1 位段的成员必须是 int、unsigned int 或signed int ，在C99中位段成员的类型也可以选择其他类型
	//2 位段的成员名后边有一个冒号和一个数字


	printf("%zd\n", sizeof(struct S));




	return 0;
}